/**
 * 
 * Praktikum CG WP WS13/14
 * Gruppe: Andreas Rebri(andreas.rebri@haw-hamburg.de)
 * 		   Joschka Schulz(joschka.schulz@haw-hamburg.de)
 * Aufgabe : Aufgabenblatt 6
 * Verwendete Quellen: -
 */
package cg6;

import javax.vecmath.Vector3d;

/**
 * An interface for all curves
 */
public interface ICurve {
	
	/**
	 * The calculation for a position on the curve
	 * 
	 * @param t the position form 0.0 to 1.0 on the curve
	 * @return the point on the curve
	 */
	Vector3d eval(double t);
	
	/**
	 * The calculation for a derivative position on the curve. This function is
	 * used to calculate the tangence
	 * 
	 * @param t the position from 0.0 to 1.0 on the curve
	 * @return the point that was calculated on the curve
	 */
	Vector3d derivative(double t);
}
